Databases are commonplace in business environments. Small businesses routinely use database management systems (DBMSs) that are resident on a personal computer to keep track of such things as inventory or customer lists. For these applications, small scale commercially available DBMSs are available that operate on personal computers. Examples of these DBMSs include Access.RTM. from Microsoft, Inc. and Paradox.RTM. from Borland, Inc. Typically, these smaller DBMSs are adequate in the small business environment where relatively few users access the data. In these cases, the speed at which data can be obtained from the DBMS is adequate. Moreover, because access to the personal computer that runs the DBMS can be adequately controlled, the data stored in the DBMS is relatively secure.
However, for large businesses that have a very large DBMS, access speed and security of the data is an important concern. For example, for large financial institutions that keep extensive financial information on hundreds of thousands of people, and where hundreds of users may be attempting to access the data simultaneously, access speed may be less than satisfactory. Additionally, for a large DBMS that has thousands of "dumb terminals" in often unsecured environments, data security is an important concern. For example, a bank may maintain sensitive financial information with regard to millions of separate accounts and/or customers. This information should only be available to users of the DBMS on a "need to know" basis.
Furthermore, it is often the case that different categories of users may require different types of information contained in the database. For example, one category of user, such as a bank teller, may require account balance information on a customer. Alternatively, a loan officer may require information with regard to the credit worthiness of the customer. Thus, only certain categories of users should be allowed to access certain types of information contained in the DBMS.